import logging
import os
import pytest
import sys

from untils.feishu_untils import send_feishu_message

if __name__ == '__main__':
    if len(sys.argv) == 2:
        # 选择测试环境
        if sys.argv[1]=="test":
            # 在os环境变量中添加url的基准地址
            # 测试环境的基准地址和生产环境不同,端口号会不同，按照实际情况填写即可
            os.environ["URL"] = "http://192.168.10.141/api/cloud-api"
            # 在os环境变量中添加数据库的配置信息(以字典格式加入，但是os环境变量的value值只能是str，所以强转str)
            # 测试环境的数据库也会和生产环境不同，按照实际情况去修改
            os.environ["DB"] = str({
                "host": "192.168.10.141",
                "port": 3306,
                "database": "xingyun",
                "user": "root",
                "password": "123456"
            })
            # 方便判断是否需要ocr识别验证码，如果是生产环境，则需要，测试环境，则不需要
            os.environ["EVN"] = "test"
        # 选择生产环境
        elif sys.argv[1]=="prod":
            # 在os环境变量中添加url的基准地址
            os.environ["URL"]="http://192.168.10.141/api/cloud-api"
            # 在os环境变量中添加数据库的配置信息(以字典格式加入，但是os环境变量的value值只能是str，所以强转str)
            os.environ["DB"]=str({
                "host":"192.168.10.141",
                "port":3306,
                "database":"xingyun",
                "user":"root",
                "password":"123456"
            })
            # 方便判断是否需要ocr识别验证码，如果是生产环境，则需要，测试环境，则不需要
            os.environ["EVN"] = "prod"
        else:
            logging.error("请输入你要选择环境:python run.py test/python run.py prod")
    else:
        logging.error("请输入你要选择的环境:python run.py test/python run.py prod")

    # pytest.main(["参数"，"运行的哪个文件名","生成allure源文件参数","生成allure源文件的路径文件名","每次运行清除一下源文件"])
    pytest.main(["-sv","./testcase/test_case1.py","--alluredir","./report/json_report","--clean-alluredir"])
    # os.system("all测试报告 源文件路径 -o allure测试报告路径 --clean")
    os.system("allure generate ./report/json_report -o ./report/html_report --clean")
    # 执行完，发送飞书
    send_feishu_message()